import { request } from '../../request/index.js'

Page({
  data: {
    code: "",
    sessionId: "",
    userInfo: "",
    hasUserInfo: ""
  },
  onLoad: function () {
    this.login()
  },
  login() {
    wx.login({
      complete: (res) => {
        this.setData({
          code: res.code
        })
        console.log("code ", this.data.code)
        request({
          url: '/secondhand/getSessionId',
          data: {
            code: this.data.code
          },
          noHeader:true
        })
          .then(result => {
            this.setData(
              { sessionId: result.data.obj.sessionId })
            console.log("sessionId ", this.data.sessionId)
          })
      },
    })
  },
  // 获取用户信息
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true,
          iv: res.iv,
          encryptedData: res.encryptedData
        })
        console.log("userProfile ", res),
          this.getToken()
      }
    })
  },
  // 从后端获取 token
  getToken() {
    request({
      url: '/secondhand/authLogin',
      method: "POST",
      data: {
        encryptedData: this.data.encryptedData,
        iv: this.data.iv,
        sessionId: this.data.sessionId
      },
      noHeader:true
    })
      .then(result => {
        console.log("result ", result)
        // 拿到 userInfo 和 token 之后存到缓存中，退出当前页面（返回页面到个人中心)
        wx.setStorageSync('token', result.data.obj.token),
          wx.setStorageSync('userInfo', result.data.obj.user),
          wx.setStorageSync('loginStatus', 2), // 登录状态 未定义-未登录 1-已登录 2-信息已完善
          wx.navigateBack({
            delta: 1,
          })
      })
  }
})